8 Mammals
8.1 Plecotus auritus
8.1.1 Retrieve data
species="Plecotus auritus"
genus=strsplit(species, " ")[[1]][1] %>% tolower()
sample_metadata <- read_tsv(paste0("data/metadata.tsv")) %>%
rename(dataset=Dataset) %>%
filter(Species == species)
read_counts <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0127/DMB0127_counts.tsv.gz") %>%
rename(genome = 1)
genome_metadata <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0127/DMB0127_mag_info.tsv.gz") %>%
rename(genome = 1, length=mag_size)
genome_coverage <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0127/DMB0127_coverage.tsv.gz") %>%
rename(genome = 1)
download.file("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0127/DMB0127.tree.gz", "data/DMB0127.tree.gz")
genome_tree <- read_tree("data/DMB0127.tree.gz")8.1.2 Filter data
#Filter by coverage
min_coverage=0.3
read_counts_filt <- genome_coverage %>%
mutate(across(where(is.numeric), ~ ifelse(. > min_coverage, 1, 0))) %>%
mutate(across(-1, ~ . * read_counts[[cur_column()]]))
# Transform to genome counts (non-filtered)
readlength=150
genome_counts <- read_counts %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))
# Transform to genome counts (coverage-filtered)
readlength=150
genome_counts_filt <- read_counts_filt %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))8.1.3 Community barplot
# Retrieve EHI taxonomy colors
phylum_colors <- read_tsv("https://raw.githubusercontent.com/earthhologenome/EHI_taxonomy_colour/main/ehi_phylum_colors.tsv") %>%
right_join(genome_metadata, by=join_by(phylum == phylum)) %>%
select(phylum, colors) %>%
unique() %>%
arrange(phylum) %>%
select(colors) %>%
pull()
# Stacked barplot
genome_counts %>%
mutate_at(vars(-genome), funs(./sum(., na.rm = TRUE))) %>% #apply TSS nornalisation
pivot_longer(-genome, names_to = "dataset", values_to = "count") %>%
left_join(., genome_metadata, by = join_by(genome == genome)) %>% #append taxonomy
left_join(., sample_metadata, by = join_by(dataset == dataset)) %>% #append taxonomy
mutate(Extraction=factor(Extraction,levels=c("ZYMO","DREX","EHEX"))) %>%
ggplot(., aes(x=dataset,y=count,fill=phylum, group=phylum))+ #grouping enables keeping the same sorting of taxonomic units
geom_bar(stat="identity", colour="white", linewidth=0.1)+ #plot stacked bars with white borders
scale_fill_manual(values=phylum_colors) +
labs(y = "Relative abundance") +
facet_nested(. ~ Sample + Extraction, scales="free_x") +
guides(fill = guide_legend(ncol = 3)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(linewidth = 0.5, linetype = "solid", colour = "black"),
legend.position="none",
legend.title=element_blank())8.1.4 Alpha diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=0) %>%
t() %>%
as.data.frame() %>%
rename(richness=1) %>%
rownames_to_column(var="dataset")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1) %>%
t() %>%
as.data.frame() %>%
rename(neutral=1) %>%
rownames_to_column(var="dataset")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1,tree=genome_tree) %>%
t() %>%
as.data.frame() %>%
rename(phylogenetic=1) %>%
rownames_to_column(var="dataset")
# Merge alpha diversities
alpha_diversity <- richness %>%
full_join(neutral,by=join_by(dataset==dataset)) %>%
full_join(phylogenetic,by=join_by(dataset==dataset))
# Write alpha diversities
alpha_diversity %>% write_tsv(paste0("results/alpha_",genus,".tsv"))
# Print alpha diversity
alpha_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(dataset==dataset)) %>%
group_by(Extraction) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| Extraction | richness | neutral | phylogenetic |
|---|---|---|---|
| DREX | 12.5 | 5.070885 | 2.691939 |
| EHEX | 11.5 | 5.348040 | 2.739107 |
| ZYMO | 6.5 | 4.042292 | 2.282549 |
8.1.5 Beta diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=0, metric="C", out="pair")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, metric="C", out="pair")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, tree=genome_tree, metric="C", out="pair")
# Merge beta diversities
beta_diversity <- richness %>%
full_join(neutral,by=c("first", "second")) %>%
full_join(phylogenetic,by=c("first", "second")) %>%
rename(richness=C.x, neutral=C.y, phylogenetic=C)
# Write beta diversities
beta_diversity %>% write_tsv(paste0("results/beta_",genus,".tsv"))
# Print beta diversities
beta_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(first==dataset)) %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(second==dataset)) %>%
mutate(relationship = case_when(
Extraction.x == Extraction.y & Sample.x != Sample.y ~ "inter",
Extraction.x != Extraction.y & Sample.x == Sample.y ~ "intra",
TRUE ~ NA_character_ # Handle other cases if needed
)) %>%
filter(relationship != is.na(relationship)) %>%
group_by(relationship) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| relationship | richness | neutral | phylogenetic |
|---|---|---|---|
| inter | 0.6727759 | 0.82731396 | 0.68954392 |
| intra | 0.2123748 | 0.03113448 | 0.01336019 |
8.1.6 Variance partitioning
richness <-genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=0, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, tree=genome_tree, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
tibble(species=rep(species,3),metric=c("richness","neutral","phylogenetic"),r2=c(richness,neutral,phylogenetic)) %>%
write_tsv(paste0("results/var_",genus,".tsv"))8.2 Sciurus carolinensis
8.2.1 Retrieve data
species="Sciurus carolinensis"
genus=strsplit(species, " ")[[1]][1] %>% tolower()
sample_metadata <- read_tsv(paste0("data/metadata.tsv")) %>%
rename(dataset=Dataset) %>%
filter(Species == species)
read_counts <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0130/DMB0130_counts.tsv.gz") %>%
rename(genome = 1)
genome_metadata <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0130/DMB0130_mag_info.tsv.gz") %>%
rename(genome = 1, length=mag_size)
genome_coverage <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0130/DMB0130_coverage.tsv.gz") %>%
rename(genome = 1)
download.file("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0130/DMB0130.tree.gz", "data/DMB0130.tree.gz")
genome_tree <- read_tree("data/DMB0130.tree.gz")8.2.2 Filter data
#Filter by coverage
min_coverage=0.3
read_counts_filt <- genome_coverage %>%
mutate(across(where(is.numeric), ~ ifelse(. > min_coverage, 1, 0))) %>%
mutate(across(-1, ~ . * read_counts[[cur_column()]]))
# Transform to genome counts (non-filtered)
readlength=150
genome_counts <- read_counts %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))
# Transform to genome counts (coverage-filtered)
readlength=150
genome_counts_filt <- read_counts_filt %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))8.2.3 Community barplot
# Retrieve EHI taxonomy colors
phylum_colors <- read_tsv("https://raw.githubusercontent.com/earthhologenome/EHI_taxonomy_colour/main/ehi_phylum_colors.tsv") %>%
right_join(genome_metadata, by=join_by(phylum == phylum)) %>%
select(phylum, colors) %>%
unique() %>%
arrange(phylum) %>%
select(colors) %>%
pull()
# Stacked barplot
genome_counts %>%
mutate_at(vars(-genome), funs(./sum(., na.rm = TRUE))) %>% #apply TSS nornalisation
pivot_longer(-genome, names_to = "dataset", values_to = "count") %>%
left_join(., genome_metadata, by = join_by(genome == genome)) %>% #append taxonomy
left_join(., sample_metadata, by = join_by(dataset == dataset)) %>% #append taxonomy
mutate(Extraction=factor(Extraction,levels=c("ZYMO","DREX","EHEX"))) %>%
ggplot(., aes(x=dataset,y=count,fill=phylum, group=phylum))+ #grouping enables keeping the same sorting of taxonomic units
geom_bar(stat="identity", colour="white", linewidth=0.1)+ #plot stacked bars with white borders
scale_fill_manual(values=phylum_colors) +
labs(y = "Relative abundance") +
facet_nested(. ~ Sample + Extraction, scales="free_x") +
guides(fill = guide_legend(ncol = 3)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(linewidth = 0.5, linetype = "solid", colour = "black"),
legend.position="none",
legend.title=element_blank())8.2.4 Alpha diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=0) %>%
t() %>%
as.data.frame() %>%
rename(richness=1) %>%
rownames_to_column(var="dataset")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1) %>%
t() %>%
as.data.frame() %>%
rename(neutral=1) %>%
rownames_to_column(var="dataset")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1,tree=genome_tree) %>%
t() %>%
as.data.frame() %>%
rename(phylogenetic=1) %>%
rownames_to_column(var="dataset")
# Merge alpha diversities
alpha_diversity <- richness %>%
full_join(neutral,by=join_by(dataset==dataset)) %>%
full_join(phylogenetic,by=join_by(dataset==dataset))
# Write alpha diversities
alpha_diversity %>% write_tsv(paste0("results/alpha_",genus,".tsv"))
# Print alpha diversity
alpha_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(dataset==dataset)) %>%
group_by(Extraction) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| Extraction | richness | neutral | phylogenetic |
|---|---|---|---|
| DREX | 95.0 | 39.66320 | 5.557244 |
| EHEX | 96.0 | 47.74310 | 5.728024 |
| ZYMO | 107.5 | 59.13437 | 6.138243 |
8.2.5 Beta diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=0, metric="C", out="pair")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, metric="C", out="pair")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, tree=genome_tree, metric="C", out="pair")
# Merge beta diversities
beta_diversity <- richness %>%
full_join(neutral,by=c("first", "second")) %>%
full_join(phylogenetic,by=c("first", "second")) %>%
rename(richness=C.x, neutral=C.y, phylogenetic=C)
# Write beta diversities
beta_diversity %>% write_tsv(paste0("results/beta_",genus,".tsv"))
# Print beta diversities
beta_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(first==dataset)) %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(second==dataset)) %>%
mutate(relationship = case_when(
Extraction.x == Extraction.y & Sample.x != Sample.y ~ "inter",
Extraction.x != Extraction.y & Sample.x == Sample.y ~ "intra",
TRUE ~ NA_character_ # Handle other cases if needed
)) %>%
filter(relationship != is.na(relationship)) %>%
group_by(relationship) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| relationship | richness | neutral | phylogenetic |
|---|---|---|---|
| inter | 0.4447768 | 0.6554629 | 0.19033972 |
| intra | 0.1823044 | 0.1211974 | 0.03562178 |
8.2.6 Variance partitioning
richness <-genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=0, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, tree=genome_tree, metric="C") %>%
as.dist() %>%
adonis2(formula = . ~ Sample + Extraction, data = sample_metadata %>% arrange(match(dataset,colnames(genome_counts_filt))), permutations = 999, method = "bray", sqrt.dist = TRUE) %>%
broom::tidy() %>%
filter(term == "Extraction") %>%
select(R2) %>% pull()
tibble(species=rep(species,3),metric=c("richness","neutral","phylogenetic"),r2=c(richness,neutral,phylogenetic)) %>%
write_tsv(paste0("results/var_",genus,".tsv"))8.3 Trichosurus vulpecula
8.3.1 Retrieve data
species="Trichosurus vulpecula"
genus=strsplit(species, " ")[[1]][1] %>% tolower()
sample_metadata <- read_tsv(paste0("data/metadata.tsv")) %>%
rename(dataset=Dataset) %>%
filter(Species == species)
read_counts <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0131/DMB0131_counts.tsv.gz") %>%
rename(genome = 1)
genome_metadata <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0131/DMB0131_mag_info.tsv.gz") %>%
rename(genome = 1, length=mag_size)
genome_coverage <- read_tsv("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0131/DMB0131_coverage.tsv.gz") %>%
rename(genome = 1)
download.file("https://sid.erda.dk/share_redirect/BaMZodj9sA/DMB/DMB0131/DMB0131.tree.gz", "data/DMB0131.tree.gz")
genome_tree <- read_tree("data/DMB0131.tree.gz")8.3.2 Filter data
#Filter by coverage
min_coverage=0.3
read_counts_filt <- genome_coverage %>%
mutate(across(where(is.numeric), ~ ifelse(. > min_coverage, 1, 0))) %>%
mutate(across(-1, ~ . * read_counts[[cur_column()]]))
# Transform to genome counts (non-filtered)
readlength=150
genome_counts <- read_counts %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))
# Transform to genome counts (coverage-filtered)
readlength=150
genome_counts_filt <- read_counts_filt %>%
mutate(across(where(is.numeric), ~ . / (genome_metadata$length / readlength) ))8.3.3 Community barplot
# Retrieve EHI taxonomy colors
phylum_colors <- read_tsv("https://raw.githubusercontent.com/earthhologenome/EHI_taxonomy_colour/main/ehi_phylum_colors.tsv") %>%
right_join(genome_metadata, by=join_by(phylum == phylum)) %>%
select(phylum, colors) %>%
unique() %>%
arrange(phylum) %>%
select(colors) %>%
pull()
# Stacked barplot
genome_counts %>%
mutate_at(vars(-genome), funs(./sum(., na.rm = TRUE))) %>% #apply TSS nornalisation
pivot_longer(-genome, names_to = "dataset", values_to = "count") %>%
left_join(., genome_metadata, by = join_by(genome == genome)) %>% #append taxonomy
left_join(., sample_metadata, by = join_by(dataset == dataset)) %>% #append taxonomy
mutate(Extraction=factor(Extraction,levels=c("ZYMO","DREX","EHEX"))) %>%
ggplot(., aes(x=dataset,y=count,fill=phylum, group=phylum))+ #grouping enables keeping the same sorting of taxonomic units
geom_bar(stat="identity", colour="white", linewidth=0.1)+ #plot stacked bars with white borders
scale_fill_manual(values=phylum_colors) +
labs(y = "Relative abundance") +
facet_nested(. ~ Sample + Extraction, scales="free_x") +
guides(fill = guide_legend(ncol = 3)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
axis.title.x = element_blank(),
panel.background = element_blank(),
panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(linewidth = 0.5, linetype = "solid", colour = "black"),
legend.position="none",
legend.title=element_blank())8.3.4 Alpha diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=0) %>%
t() %>%
as.data.frame() %>%
rename(richness=1) %>%
rownames_to_column(var="dataset")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1) %>%
t() %>%
as.data.frame() %>%
rename(neutral=1) %>%
rownames_to_column(var="dataset")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hilldiv(.,q=1,tree=genome_tree) %>%
t() %>%
as.data.frame() %>%
rename(phylogenetic=1) %>%
rownames_to_column(var="dataset")
# Merge alpha diversities
alpha_diversity <- richness %>%
full_join(neutral,by=join_by(dataset==dataset)) %>%
full_join(phylogenetic,by=join_by(dataset==dataset))
# Write alpha diversities
alpha_diversity %>% write_tsv(paste0("results/alpha_",genus,".tsv"))
# Print alpha diversity
alpha_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(dataset==dataset)) %>%
group_by(Extraction) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| Extraction | richness | neutral | phylogenetic |
|---|---|---|---|
| DREX | 50.5 | 21.91494 | 5.924827 |
| EHEX | 72.0 | 28.43487 | 7.338228 |
| ZYMO | 67.5 | 28.14959 | 6.253726 |
8.3.5 Beta diversity
#Calculate Hill numbers
richness <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=0, metric="C", out="pair")
neutral <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, metric="C", out="pair")
phylogenetic <- genome_counts_filt %>%
column_to_rownames(var="genome") %>%
select(where(~!all(. == 0))) %>%
hillpair(.,q=1, tree=genome_tree, metric="C", out="pair")
# Merge beta diversities
beta_diversity <- richness %>%
full_join(neutral,by=c("first", "second")) %>%
full_join(phylogenetic,by=c("first", "second")) %>%
rename(richness=C.x, neutral=C.y, phylogenetic=C)
# Write beta diversities
beta_diversity %>% write_tsv(paste0("results/beta_",genus,".tsv"))
# Print beta diversities
beta_diversity %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(first==dataset)) %>%
left_join(sample_metadata %>% select(dataset,Extraction,Sample),by=join_by(second==dataset)) %>%
mutate(relationship = case_when(
Extraction.x == Extraction.y & Sample.x != Sample.y ~ "inter",
Extraction.x != Extraction.y & Sample.x == Sample.y ~ "intra",
TRUE ~ NA_character_ # Handle other cases if needed
)) %>%
filter(relationship != is.na(relationship)) %>%
group_by(relationship) %>%
summarise(richness=mean(richness), neutral=mean(neutral), phylogenetic=mean(phylogenetic)) %>%
tt()| relationship | richness | neutral | phylogenetic |
|---|---|---|---|
| inter | 0.3673634 | 0.55492808 | 0.26261760 |
| intra | 0.1050321 | 0.02750575 | 0.01017398 |